<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<%@ page import="java.util.List" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.GregorianCalendar" %>
<%@ page import="java.util.Calendar" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="javax.portlet.PortletSession" %>
<%@ page import="com.liferay.portal.kernel.util.HtmlUtil" %>
<%@ page import="com.liferay.portal.kernel.util.WebKeys" %>
<%@ page import="com.liferay.portal.theme.ThemeDisplay" %>
<%@ page import="javax.portlet.PortletSession" %>
<%@ page import="slic.service.EquipoLocalServiceUtil" %>
<%@ page import="slic.service.EscuelaLocalServiceUtil" %>
<%@ page import="slic.service.DisciplinaLocalServiceUtil" %>
<%@ page import="slic.service.CategoriaDisciplinaLocalServiceUtil" %>
<%@ page import="com.liferay.portal.service.UserLocalServiceUtil" %>
<%@ page import="slic.model.Equipo" %>
<%@ page import="slic.model.Escuela" %>
<%@ page import="slic.model.Disciplina" %>
<%@ page import="slic.model.CategoriaDisciplina" %>
<%@ page import="com.liferay.portal.model.User" %>
<%@ page import="com.liferay.portal.kernel.portlet.LiferayWindowState" %>

<portlet:defineObjects />
<liferay-theme:defineObjects />

<%

	if (renderRequest.getParameter("funcion") != null &&
			!renderRequest.getParameter("funcion").trim().equals("")) {
		session.setAttribute("equiposViewFuncion", renderRequest.getParameter("funcion"));
	}

	session.setAttribute("initBusqueda", "true");

	String escuelaId = renderRequest.getParameter("escuelaId");
	if (escuelaId == null || escuelaId.trim().equals(""))
		escuelaId = "";

	String escuelaNombre = renderRequest.getParameter("escuelaNombre");
	if (escuelaNombre == null || escuelaNombre.trim().equals(""))
		escuelaNombre = "";

	String ocultarOtros = renderRequest.getParameter("ocultar-otros");
	if (permissionChecker.hasPermission(scopeGroupId, portletDisplay.getId(), scopeGroupId, "REGISTRAR")) {
		if (ocultarOtros == null || !ocultarOtros.trim().equals("false"))
			ocultarOtros = "true";
	}
	else {
		ocultarOtros = "false";
	}
	
	if (renderRequest.getParameter("search") != null) {
		HashMap<String, String> map = new HashMap<String, String>();

		map.put("nombre", renderRequest.getParameter("nombre"));
		map.put("escuelaId", renderRequest.getParameter("escuelaId"));
		map.put("categoriaId", renderRequest.getParameter("categoriaId"));
		map.put("equipoId", renderRequest.getParameter("equipoId"));
		map.put("aprobado", renderRequest.getParameter("aprobado"));

		if (session.getAttribute("equiposViewFuncion").equals("registrar"))
			map.put("createUser", String.valueOf(themeDisplay.getUserId()));

		map.put("orderBy", "createDate");
		map.put("orderType", "desc");

		request.setAttribute("searchMap", map);
	}

	if (request.getAttribute("searchMap") == null) {
		HashMap<String, String> map = new HashMap<String, String>();

		if (session.getAttribute("equiposViewFuncion").equals("registrar"))
			map.put("createUser", String.valueOf(themeDisplay.getUserId()));
		
		map.put("orderBy", "createDate");
		map.put("orderType", "desc");

		request.setAttribute("searchMap", map);
	}

%>

<portlet:renderURL var="homeURL">
	<portlet:param name="jspPage" value="/html/inscripcion/view.jsp" />
</portlet:renderURL>  

<liferay-portlet:renderURL varImpl="searchURL">
	<portlet:param name="jspPage" value="/html/equipos/busqueda.jsp" />
</liferay-portlet:renderURL>

<portlet:renderURL var="addURL">
	<portlet:param name="mvcPath" value="/html/equipos/edit.jsp"/>
</portlet:renderURL>

<portlet:renderURL var="searchEscuelaURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
	<portlet:param name="mvcPath" value="/html/equipos/searchEscuela.jsp"/>
</portlet:renderURL>

<liferay-portlet:renderURL varImpl="iteratorURL">
	<portlet:param name="jspPage" value="/html/equipos/view.jsp"/>
</liferay-portlet:renderURL>

<liferay-ui:header
	backURL="<%= homeURL %>"
	backLabel="Menu"
	title="Equipos"
/>

<aui:form>

	<liferay-ui:success key="equipo-eliminado" message="equipo-eliminado" />
	<liferay-ui:success key="equipo-enviado" message="equipo-enviado" />
	<liferay-ui:success key="equipo-aprobado" message="equipo-aprobado" />

	<liferay-ui:search-container iteratorURL="<%=iteratorURL%>" delta="10" emptyResultsMessage="No se encontraron equipos." var="equipoContainer">

		<liferay-ui:search-container-results>
		<%
			List<Equipo> listEquipo = EquipoLocalServiceUtil.findByMap((HashMap<String, String>)request.getAttribute("searchMap"),
					equipoContainer.getStart(), equipoContainer.getEnd());

			Long longTotal = EquipoLocalServiceUtil.countByMap((HashMap<String, String>)request.getAttribute("searchMap"));

			pageContext.setAttribute("results", listEquipo);
			pageContext.setAttribute("total", Integer.valueOf(longTotal.intValue()));
			pageContext.setAttribute("rowNumber", Integer.valueOf(0));
		%>
		</liferay-ui:search-container-results>

		<liferay-ui:search-container-row
				className="slic.model.Equipo"
				keyProperty="equipoId"
				modelVar="equipo" >

			<%
				Escuela escuela = EscuelaLocalServiceUtil.fetchEscuela(equipo.getEscuelaId());
				CategoriaDisciplina categoriaDisciplina = CategoriaDisciplinaLocalServiceUtil.fetchCategoriaDisciplina(equipo.getCategoriaId());
				Disciplina disciplina = DisciplinaLocalServiceUtil.fetchDisciplina(categoriaDisciplina.getDisciplinaId());
				User createUser = UserLocalServiceUtil.fetchUser(equipo.getCreateUser());
			%>

			<liferay-ui:search-container-column-text name="N&uacute;m. Equipo">
				<portlet:renderURL var="detailURL">
					<portlet:param name="mvcPath" value="/html/equipos/detail.jsp"/>
					<portlet:param name="equipoId" value="<%= String.valueOf(equipo.getEquipoId()) %>"/>
				</portlet:renderURL>
				<a href="<%=detailURL %>"><%=equipo.getEquipoId() %></a>
			</liferay-ui:search-container-column-text>

			<liferay-ui:search-container-column-text name="Escuela">
				<%=escuela.getNombre() + ", " + escuela.getDireccion() + ", " + escuela.getLocalidad() + ", Regi&oacute;n" + escuela.getRegion() %>
			</liferay-ui:search-container-column-text>

			<liferay-ui:search-container-column-text name="Disciplina">
				<%= disciplina.getNombre() %>
			</liferay-ui:search-container-column-text>

			<liferay-ui:search-container-column-text name="Categor&iacute;a">
				<%= categoriaDisciplina.getNombre() %>
			</liferay-ui:search-container-column-text>

			<liferay-ui:search-container-column-text
					name="Nombre" property="nombre"  />

			<liferay-ui:search-container-column-text name="Creaci&oacute;n">
				<fmt:formatDate value="<%= equipo.getCreateDate() %>" pattern="dd-MM-yyyy"/>
			</liferay-ui:search-container-column-text>

			<liferay-ui:search-container-column-text name="Profesor">
				<%= createUser.getLastName() /*+ ", " + createUser.getFirstName()*/ %>
			</liferay-ui:search-container-column-text>

			<liferay-ui:search-container-column-text name="Estado">
				<%
				switch (Long.valueOf(equipo.getEstado()).intValue()) {
					case 0:
						out.write("<span style=\"color:red\">NO ENVIADO</span>");
						break;
					case 1:
						if (permissionChecker.hasPermission(scopeGroupId, portletDisplay.getId(), scopeGroupId, "APROBAR_EQUIPO")) {
							out.write("<span style=\"color:red\">PENDIENTE APROBACI&Oacute;N</span>");
						}
						else {
							out.write("PENDIENTE APROBACI&Oacute;N");
						}
						break;
					case 2:
						out.write("APROBADO");
						break;						
				}
				%>
			</liferay-ui:search-container-column-text>

		</liferay-ui:search-container-row>

		<liferay-ui:search-iterator searchContainer="<%= equipoContainer %>" />

	</liferay-ui:search-container>

	<aui:button-row>
		<c:if test="<%= permissionChecker.hasPermission(scopeGroupId, portletDisplay.getId(), scopeGroupId, \"REGISTRAR\") %>">
			<button id="addButton"></button>
		</c:if>
		<button id="searchButton"></button>
	</aui:button-row>

</aui:form>

<aui:script>
	AUI().ready('aui-button-item', function(A) {
	<c:if test="<%= permissionChecker.hasPermission(scopeGroupId, portletDisplay.getId(), scopeGroupId, \"REGISTRAR\") %>">

		var addButtonHandler = function(event) {
			document.<portlet:namespace/>fm.action = '<%= addURL %>';
			document.<portlet:namespace/>fm.method = 'post';
			document.<portlet:namespace/>fm.submit();
		};

		var addButton = new A.ButtonItem({
			boundingBox: '#addButton',
			handler: addButtonHandler,
			icon: 'circle-plus',
			label: 'Nuevo'
		}).render();

	</c:if>

		var searchButtonHandler = function(event) {
			document.<portlet:namespace/>fm.action = '<%= searchURL %>';
			document.<portlet:namespace/>fm.method = 'post';
			document.<portlet:namespace/>fm.submit();
		};

		var searchButton = new A.ButtonItem({
			boundingBox: '#searchButton',
			handler: searchButtonHandler,
			icon: 'search',
			label: 'Buscar'
		}).render();

	});

	function abrirSeleccionarEscuela() {
		Liferay.Util.openWindow({
			dialog: {align: Liferay.Util.Window.ALIGN_CENTER,
					after: {render: function(event) {this.set('y', this.get('y') + 50);}}, width: 960},
			id: '<%=liferayPortletResponse.getNamespace() + "escuelas"%>',
			title: 'Escuelas',
			uri: '<%=searchEscuelaURL.toString()%>'});
	}

	Liferay.provide(
		window,
		'seleccionarEscuela',
		function(escuelaId, escuelaNombre) {

			var A = AUI();

			A.DialogManager.closeByChild('#<portlet:namespace />escuelas');

			var curPortletBoundaryId = '#p_p_id<portlet:namespace />';

			document.getElementById('<portlet:namespace />escuelaId').value = escuelaId;
			document.getElementById('<portlet:namespace />escuelaNombre').value = escuelaNombre;
		},
		['aui-dialog','aui-dialog-iframe']
	);

</aui:script>
